home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_format.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  8KB  |  220 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. from test.test_support import verbose, have_unicode, TestFailed
  5. import sys
  6. overflowok = 1
  7.  
  8. def testformat(formatstr, args, output = None):
  9.     if verbose:
  10.         if output:
  11.             print '%s %% %s =? %s ...' % (repr(formatstr), repr(args), repr(output)),
  12.         else:
  13.             print '%s %% %s works? ...' % (repr(formatstr), repr(args)),
  14.     
  15.     
  16.     try:
  17.         result = formatstr % args
  18.     except OverflowError:
  19.         if not overflowok:
  20.             raise 
  21.         
  22.         if verbose:
  23.             print 'overflow (this is fine)'
  24.         
  25.     except:
  26.         verbose
  27.  
  28.     if output and result != output:
  29.         if verbose:
  30.             print 'no'
  31.         
  32.         print '%s %% %s == %s != %s' % (repr(formatstr), repr(args), repr(result), repr(output))
  33.     elif verbose:
  34.         print 'yes'
  35.     
  36.  
  37.  
  38. def testboth(formatstr, *args):
  39.     testformat(formatstr, *args)
  40.     if have_unicode:
  41.         testformat(unicode(formatstr), *args)
  42.     
  43.  
  44. testboth('%.1d', (1,), '1')
  45. testboth('%.*d', (sys.maxint, 1))
  46. testboth('%.100d', (1,), '0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001')
  47. testboth('%#.117x', (1,), '0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001')
  48. testboth('%#.118x', (1,), '0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001')
  49. testboth('%f', (1.0,), '1.000000')
  50. testboth('%#.*g', (109, -9.9999999999999995e+48 / 3.0))
  51. testboth('%#.*g', (110, -9.9999999999999995e+48 / 3.0))
  52. testboth('%#.*g', (110, -1e+100 / 3.0))
  53. testboth('%12.*f', (123456, 1.0))
  54. overflowok = 0
  55. testboth('%x', 0xAL, 'a')
  56. testboth('%x', 0x174876E800L, '174876e800')
  57. testboth('%o', 0xAL, '12')
  58. testboth('%o', 0x174876E800L, '1351035564000')
  59. testboth('%d', 0xAL, '10')
  60. testboth('%d', 0x174876E800L, '100000000000')
  61. big = 0x18EE90FF6C373E0EE4E3F0AD2L
  62. testboth('%d', big, '123456789012345678901234567890')
  63. testboth('%d', -big, '-123456789012345678901234567890')
  64. testboth('%5d', -big, '-123456789012345678901234567890')
  65. testboth('%31d', -big, '-123456789012345678901234567890')
  66. testboth('%32d', -big, ' -123456789012345678901234567890')
  67. testboth('%-32d', -big, '-123456789012345678901234567890 ')
  68. testboth('%032d', -big, '-0123456789012345678901234567890')
  69. testboth('%-032d', -big, '-123456789012345678901234567890 ')
  70. testboth('%034d', -big, '-000123456789012345678901234567890')
  71. testboth('%034d', big, '0000123456789012345678901234567890')
  72. testboth('%0+34d', big, '+000123456789012345678901234567890')
  73. testboth('%+34d', big, '   +123456789012345678901234567890')
  74. testboth('%34d', big, '    123456789012345678901234567890')
  75. testboth('%.2d', big, '123456789012345678901234567890')
  76. testboth('%.30d', big, '123456789012345678901234567890')
  77. testboth('%.31d', big, '0123456789012345678901234567890')
  78. testboth('%32.31d', big, ' 0123456789012345678901234567890')
  79. big = 0x1234567890ABCDEF12345L
  80. testboth('%x', big, '1234567890abcdef12345')
  81. testboth('%x', -big, '-1234567890abcdef12345')
  82. testboth('%5x', -big, '-1234567890abcdef12345')
  83. testboth('%22x', -big, '-1234567890abcdef12345')
  84. testboth('%23x', -big, ' -1234567890abcdef12345')
  85. testboth('%-23x', -big, '-1234567890abcdef12345 ')
  86. testboth('%023x', -big, '-01234567890abcdef12345')
  87. testboth('%-023x', -big, '-1234567890abcdef12345 ')
  88. testboth('%025x', -big, '-0001234567890abcdef12345')
  89. testboth('%025x', big, '00001234567890abcdef12345')
  90. testboth('%0+25x', big, '+0001234567890abcdef12345')
  91. testboth('%+25x', big, '   +1234567890abcdef12345')
  92. testboth('%25x', big, '    1234567890abcdef12345')
  93. testboth('%.2x', big, '1234567890abcdef12345')
  94. testboth('%.21x', big, '1234567890abcdef12345')
  95. testboth('%.22x', big, '01234567890abcdef12345')
  96. testboth('%23.22x', big, ' 01234567890abcdef12345')
  97. testboth('%-23.22x', big, '01234567890abcdef12345 ')
  98. testboth('%X', big, '1234567890ABCDEF12345')
  99. testboth('%#X', big, '0X1234567890ABCDEF12345')
  100. testboth('%#x', big, '0x1234567890abcdef12345')
  101. testboth('%#x', -big, '-0x1234567890abcdef12345')
  102. testboth('%#.23x', -big, '-0x001234567890abcdef12345')
  103. testboth('%#+.23x', big, '+0x001234567890abcdef12345')
  104. testboth('%# .23x', big, ' 0x001234567890abcdef12345')
  105. testboth('%#+.23X', big, '+0X001234567890ABCDEF12345')
  106. testboth('%#-+.23X', big, '+0X001234567890ABCDEF12345')
  107. testboth('%#-+26.23X', big, '+0X001234567890ABCDEF12345')
  108. testboth('%#-+27.23X', big, '+0X001234567890ABCDEF12345 ')
  109. testboth('%#+27.23X', big, ' +0X001234567890ABCDEF12345')
  110. testboth('%#+027.23X', big, '+0X0001234567890ABCDEF12345')
  111. testboth('%#+27.23X', big, ' +0X001234567890ABCDEF12345')
  112. big = 0x29CBB829CBB829CBB829CBB8L
  113. testboth('%o', big, '12345670123456701234567012345670')
  114. testboth('%o', -big, '-12345670123456701234567012345670')
  115. testboth('%5o', -big, '-12345670123456701234567012345670')
  116. testboth('%33o', -big, '-12345670123456701234567012345670')
  117. testboth('%34o', -big, ' -12345670123456701234567012345670')
  118. testboth('%-34o', -big, '-12345670123456701234567012345670 ')
  119. testboth('%034o', -big, '-012345670123456701234567012345670')
  120. testboth('%-034o', -big, '-12345670123456701234567012345670 ')
  121. testboth('%036o', -big, '-00012345670123456701234567012345670')
  122. testboth('%036o', big, '000012345670123456701234567012345670')
  123. testboth('%0+36o', big, '+00012345670123456701234567012345670')
  124. testboth('%+36o', big, '   +12345670123456701234567012345670')
  125. testboth('%36o', big, '    12345670123456701234567012345670')
  126. testboth('%.2o', big, '12345670123456701234567012345670')
  127. testboth('%.32o', big, '12345670123456701234567012345670')
  128. testboth('%.33o', big, '012345670123456701234567012345670')
  129. testboth('%34.33o', big, ' 012345670123456701234567012345670')
  130. testboth('%-34.33o', big, '012345670123456701234567012345670 ')
  131. testboth('%o', big, '12345670123456701234567012345670')
  132. testboth('%#o', big, '012345670123456701234567012345670')
  133. testboth('%#o', -big, '-012345670123456701234567012345670')
  134. testboth('%#.34o', -big, '-0012345670123456701234567012345670')
  135. testboth('%#+.34o', big, '+0012345670123456701234567012345670')
  136. testboth('%# .34o', big, ' 0012345670123456701234567012345670')
  137. testboth('%#+.34o', big, '+0012345670123456701234567012345670')
  138. testboth('%#-+.34o', big, '+0012345670123456701234567012345670')
  139. testboth('%#-+37.34o', big, '+0012345670123456701234567012345670  ')
  140. testboth('%#+37.34o', big, '  +0012345670123456701234567012345670')
  141. testboth('%.33o', big, '012345670123456701234567012345670')
  142. testboth('%#.33o', big, '012345670123456701234567012345670')
  143. testboth('%#.32o', big, '012345670123456701234567012345670')
  144. testboth('%034.33o', big, '0012345670123456701234567012345670')
  145. testboth('%0#34.33o', big, '0012345670123456701234567012345670')
  146. testboth('%d', 42, '42')
  147. testboth('%d', -42, '-42')
  148. testboth('%d', 0x2AL, '42')
  149. testboth('%d', -0x2AL, '-42')
  150. testboth('%#x', 1, '0x1')
  151. testboth('%#x', 0x1L, '0x1')
  152. testboth('%#X', 1, '0X1')
  153. testboth('%#X', 0x1L, '0X1')
  154. testboth('%#o', 1, '01')
  155. testboth('%#o', 0x1L, '01')
  156. testboth('%#o', 0, '0')
  157. testboth('%#o', 0x0L, '0')
  158. testboth('%o', 0, '0')
  159. testboth('%o', 0x0L, '0')
  160. testboth('%d', 0, '0')
  161. testboth('%d', 0x0L, '0')
  162. testboth('%#x', 0, '0x0')
  163. testboth('%#x', 0x0L, '0x0')
  164. testboth('%#X', 0, '0X0')
  165. testboth('%#X', 0x0L, '0X0')
  166. testboth('%x', 66, '42')
  167. testboth('%x', -66, '-42')
  168. testboth('%x', 0x42L, '42')
  169. testboth('%x', -0x42L, '-42')
  170. testboth('%o', 34, '42')
  171. testboth('%o', -34, '-42')
  172. testboth('%o', 0x22L, '42')
  173. testboth('%o', -0x22L, '-42')
  174. if verbose:
  175.     print 'Testing exceptions'
  176.  
  177.  
  178. def test_exc(formatstr, args, exception, excmsg):
  179.     
  180.     try:
  181.         testformat(formatstr, args)
  182.     except exception:
  183.         exc = None
  184.         if str(exc) == excmsg:
  185.             if verbose:
  186.                 print 'yes'
  187.             
  188.         elif verbose:
  189.             print 'no'
  190.         
  191.         print 'Unexpected ', exception, ':', repr(str(exc))
  192.     except:
  193.         if verbose:
  194.             print 'no'
  195.         
  196.         print 'Unexpected exception'
  197.         raise 
  198.  
  199.     raise TestFailed, 'did not get expected exception: %s' % excmsg
  200.  
  201. test_exc('abc %a', 1, ValueError, "unsupported format character 'a' (0x61) at index 5")
  202. if have_unicode:
  203.     test_exc(unicode('abc %\\u3000', 'raw-unicode-escape'), 1, ValueError, "unsupported format character '?' (0x3000) at index 5")
  204.  
  205. test_exc('%d', '1', TypeError, 'int argument required')
  206. test_exc('%g', '1', TypeError, 'float argument required')
  207. test_exc('no format', '1', TypeError, 'not all arguments converted during string formatting')
  208. test_exc('no format', u'1', TypeError, 'not all arguments converted during string formatting')
  209. test_exc(u'no format', '1', TypeError, 'not all arguments converted during string formatting')
  210. test_exc(u'no format', u'1', TypeError, 'not all arguments converted during string formatting')
  211. if sys.maxint == 2 ** 31 - 1:
  212.     
  213.     try:
  214.         '%*d' % (sys.maxint, -127)
  215.     except MemoryError:
  216.         pass
  217.  
  218.     raise TestFailed, '"%*d"%(sys.maxint, -127) should fail'
  219.  
  220.